簡體   English   中英

干凈的網址-如何使用htaccess在重定向時編輯網址變量以編輯網址名稱和刪除文件夾名稱?

[英]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.

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