![](/img/trans.png)
[英]how to redirect from unclean url to clean url using htaccess file
[英]Clean URL - How to edit url variables for editing url name & delete folder name on redirect using htaccess?
盡管存在成千上萬個與此類似的問題,但我無法使其適用於這種特定情況。
public_html+
|
| htaccess
| robots.txt
|
| libraries+
| | classOne.php
| | classTwo.php
|
| webroot+
| | css
| | images
| | js
| | index.php
| | article.php
以下內容似乎總是將我的主域重定向到webroot /,但我該如何通過從url中刪除webroot文件夾名稱來使它看起來像
www.example.com/而不是www.example.com/webroot
我為此使用以下代碼。
RewriteBase /webroot/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
我有一個article.php,我想編輯URL以使其更適合SEO。
在我的真實域中,當前顯示如下。
www.example.com/webroot/article.php?article_uid=33&article_title=Apple,%20Microsoft%20And%20Free%20Software
我想編輯上面的內容以顯示如下。
www.example.com/article/id/title-goes-here
我嘗試了以下代碼,但沒有任何改變。 我唯一不知道如何將斜杠添加到標題中。
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^article/([^/]+)/([^/]+)/?$ webroot/article.php?article_uid=$1&article_title=$2 [QSA,L,NC]
在文檔根目錄的htaccess文件中,嘗試以下規則:
RewriteEngine On
RewriteCond %{THE_REQUEST} \ /webroot/article\.php\?article_uid=([^&]+)&article_title=([^&\ ]+)
RewriteRule ^ /article/%1/%2/? [L,R=301,NE]
RewriteCond %{THE_REQUEST} \ /webroot/
RewriteRule ^webroot/(.*)$ /$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^article/([^/]+)/([^/]+)/?$ /webroot/article.php?article_uid=$1&article_title=$2 [QSA,L,NC]
RewriteCond %{REQUEST_URI} !^/webroot/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /webroot/index.php [L]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.