मेरे पास htaccess फ़ाइल है, यहाँ यह है:

php_flag magic_quotes_gpc off
php_flag register_globals off
php_value max_execution_time 100
ErrorDocument 404 /index.php?key=404
RewriteEngine On

RewriteCond %{HTTP_HOST} !^humor\.mysite\.ru$
RewriteRule .* http://humor.mysite.ru%{REQUEST_URI} [R=301,L]

# Index Page
RewriteRule ^index\.html$ index.php [L]
RewriteRule ^index\.htm$ index.php [L]

# Humor
RewriteRule ^humor([0-9]+)\.html$ index.php?key=humor&id=$1 [L]
RewriteRule ^humor([0-9]+)-([0-9]+)\.html$ index.php?key=humor&af=$1&page=$2 [L]
RewriteRule ^top_week.html$ index.php?key=humor&af=2 [L]
RewriteRule ^top_monthe.html$ index.php?key=humor&af=3 [L]
RewriteRule ^random.html$ index.php?key=humor&af=4 [L]
RewriteRule ^top.html$ index.php?key=traffic&tr=1 [L]

# Common
RewriteRule ^humor/rate\.html$ index.php?key=humor&af=1; [L]
RewriteRule ^add\.html$ index.php?key=humor&add=1; [L]
RewriteRule ^humor/category([0-9]+)\.html$ index.php?key=humor&cat=$1 [L]
RewriteRule ^humor/category([0-9]+)-([0-9]+)\.html$ index.php?key=humor&cat=$1&page=$2 [L]

# Admin Area
RewriteRule ^admin/$ index.php?key=login  [L]
RewriteRule ^admin$ index.php?key=login  [L]

# Default
RewriteRule ^([a-zA-Z_0-9\-]+)\.html$ index.php?key=$1  [L]
RewriteRule ^contest.html$ contest.html [L]

और मेरे पास वेबमास्टर्स के लिए Google पुष्टि फ़ाइल है, इसलिए जब मैं अपनी रूट निर्देशिका में फ़ाइल जोड़ता हूं और यह देखने का प्रयास करता हूं कि ब्राउज़र के अंदर क्या फेंकता है - सर्वर मुझे index.php पर रीडायरेक्ट करता है, लेकिन यह मुझे ये फाइल दिखाना चाहिए

0
kirugan 11 जुलाई 2011, 15:06

1 उत्तर

सबसे बढ़िया उत्तर

नियमों का क्रम मायने रखता है। आपकी अंतिम पंक्ति कभी भी "निष्पादित" नहीं होगी क्योंकि पिछला नियम सभी .html फ़ाइलों को index.php पर पुनर्निर्देशित करेगा।

इन पंक्तियों को आज़माएं (आप प्रतियोगिता.एचटीएमएल के लिए अंतिम पंक्ति को सुरक्षित रूप से हटा सकते हैं):

# Default
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z_0-9\-]+)\.html$ index.php?key=$1 [L]

वैकल्पिक रूप से, इन पंक्तियों को डोमेन रीडायरेक्ट नियमों के बाद और # Index Page ब्लॉक करने से पहले जोड़ें

# Do not do anything for already existing files or folders
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .+ - [L]
0
LazyOne 11 जुलाई 2011, 15:33