[英]Rewriting dynamic URLS not working (htaccess)
我知道這是一個經常被問到的問題,我已經看過他們所有人都嘗試了許多不同的變體,但都行不通,而且我不知道我在做什么錯。 我很久以前創建了一個.htaccess文件,以使其指向我的404錯誤頁面,這對我來說還算不錯,但是由於有很多帖子並且它變得凌亂,我現在想重寫我網站上的網址網址中的所有變量。 我有一個名為viewpost.php的頁面,該頁面傳遞了1個變量(還有其他頁面,但這只是示例)viewpost被傳遞了1個變量,因此它變為/viewpost.php?ID=10
RewriteEngine on
RewriteRule viewpost-ID-(.*)\.htm$ viewpost.php?ID=$1
我將這兩行添加到htaccess文件中。 我嘗試從文件中刪除404代碼並將其保存,但也沒有使其工作。 除了將此代碼添加到.htaccess文件之外,我還需要做其他事情嗎? 該網站目前托管在atspace
Hosting OS Proprietary *nix
Perl version 5.8.4
MySQL version 5.1
Perl path /usr/bin/perl
Sendmail path /usr/local/bin/sendmail
CGI-BIN path not required (You can run CGI, Perl scripts from any domain/subdomain folder)
Perl Modules 2900+ installed modules (Click here to view the full list)
PHP Version 5.2.17 Change
PHP.INI Edit
PHP Info [View PHP5.2.17 Info] [View PHP5.3.6 Info]
Directory Protection Enabled
這就是在主機設置頁面上寫的內容。 即時通訊不知道要重寫網址需要什么,但由於.htaccess文件當前適用於我的404頁,即時通訊假定設置正確?
.htaccess
文件中的某些其他規則可能會覆蓋您的規則,或者您可能遇到區分大小寫的問題。 在RewriteRule
行的末尾添加[NC,QSA,L]
。
RewriteEngine On
RewriteRule viewpost-ID-(.*)\.htm /viewpost.php?ID=$1 [NC,QSA,L]
NC
忽略了這種情況, QSA
在目標URL后面附加了任何額外的查詢字符串參數,並且L
告訴Apache如果與當前URL匹配,則停止處理更多RewriteRule
條目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.