簡體   English   中英

漂亮的URL Laravel 5.4

[英]pretty urls laravel 5.4

嗨,我遇到了settng漂亮的url並在url中放入public的問題,但這對我不起作用。

我已經試過了

Laravel 5.2漂亮的URLLaravel 5-從URL刪除public

和更多類似的網址,但似乎對我沒有用。

我正在使用Wamp,Windows 8

我確保已打開mod_rewrite,並且工作正常。

這是我的htaccess根目錄。

RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]

我的htaccess在公用文件夾中的測試中

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

我也嘗試過將htacess從公用文件夾粘貼到根文件夾上,並從公用文件夾中刪除了它,但這確實可行

實際上發生的錯誤是我的路由文件跳過了所有模式,如果我有類似Route :: get('/ api / login','api @ login')之類的代碼,那么它確實適用於包含public的url,但是當我刪除時從url公開所有模式。 它顯示404

我確保所有請求都到達public / index.php,而奇怪的是,當我打印時

var_dump(Request::root());

在routes.php中,對於帶有公共URL的URL,它說http:// localhost / folderName / subFolderName / public,但是對於沒有公共URL,它的URL說http:// localhost / ,我認為這就是為什么我的路由文件中的模式是不工作。

PS我已經設置了標題pretty urls laravel 5.4而不是laravel routes not working因為我認為這是.htaccess,我需要對其進行適當配置才能使其正常工作。

我不想更改文件夾的結構,因為我相信這是有某種原因的,因此應該解決一些問題。

關於設置虛擬主機,我將無法在服務器上執行此操作(因為我沒有權限),因此沒有必要像在登錄運行中那樣在本地設置虛擬主機來解決此問題。

在您的public / .htaccess中嘗試

RewriteRule ^ /public/index.php [L]

和根目錄下的.htaccess

RewriteRule ^(.*)$ /public/$1 [L]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM