2016-02-11 64 views
0

我在我的PC中使用Apache服務器。我在angularJS應用程序中閱讀了一些關於從URL中刪除#號的教程。 Apache服務器將指令的所有文件替換爲index.html。雖然文件名稱相同,但它的內容替換爲index.html文件內容。請幫助我。我添加一些代碼到C:\ XAMPP的\ apache的\的conf \ httpd.conf中從Apache服務器的angularJS應用中的URL中刪除#號

# <VirtualHost> definition. These values also provide defaults for 
<VirtualHost *:8000> 
    ServerName localhost 

    DocumentRoot "C:/xampp/htdocs/googleSignin/" 

    <Directory "C:/xampp/htdocs/googleSignin/"> 
     RewriteEngine On 
    # If an existing asset or directory is requested go to it as it is 
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR] 
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d 
    RewriteRule^- [L] 

    # If the requested resource doesn't exist, use index.html 
    RewriteRule^/index.html 
    </Directory> 
</VirtualHost> 
# any <VirtualHost> containers you may define later in the file. 

enter image description here 直視圖angular.min.js文件更改爲index.html的

回答

0

這不是因爲您無法從服務器級別的URL中刪除hash參數。服務器從來沒有得到它,你可以通過查看Apache日誌來驗證它。

要使用UI路由器刪除它,你需要將其設置爲html5mode,然後它會在一個URL格式,您的服務器可以對其進行攔截:

app.config(["$locationProvider", function($locationProvider) 
{ 
    $locationProvider.html5Mode(true); 
}]); 

https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-configure-your-server-to-work-with-html5mode

+0

謝謝您的回答。但我已經將Html5Mode設置爲true ...我的問題是不同的。爲什麼所有文件內容都改爲index.html文件。見上圖。 – Sandeep

+0

在上面的截圖中,是否加載了'appjs.js'的內容,或者它是否也是'index.html'? *永遠不會發現*我看到它的請求產生的錯誤。 – bbrown

相關問題